package com.fr.privilege.providers;

import com.fr.base.XMLable;
import com.fr.privilege.authentication.Authentication;
import com.fr.privilege.authority.Authority;
import com.fr.privilege.ui.LoginoutUI;
import com.fr.web.core.JSONReader;

public abstract interface AuthenticationProvider extends JSONReader, XMLable
{
  public static final String XML_TAG = "AP";

  public abstract boolean authenticate(Authentication paramAuthentication)
    throws Exception;

  public abstract LoginoutUI getLoginoutUI();

  public abstract void setLoginoutUI(LoginoutUI paramLoginoutUI);

  public abstract Authority[] listAuthorities()
    throws Exception;
}